From 4bf3ca7bdbf89882bfa887f451843192fa275461 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 3 Jun 2011 15:04:30 +0100 Subject: [PATCH] tools/hotplug: Fix hotplug hook script arrangements not to always fail The new feature introduced in 23401:a44b12ee2fd3 was broken; it in general always fails, at least if there are no hotplug scripts. If there are no hooks, call_hooks ends up running this: [ -x ".....*.hook" ] && . "..... *.hook" This does not directly trigger set -e and sigerr. However, it is the last command exected in call_hooks. So the return status of call_hooks is an error, and thus a sigerr happens when call_hooks returns. The bug affects xl and xm. However xl does not detect failure of the hotplug script. Change the script to use if...then rather than &&, as the latter has very confusing and undesirable semantics. Signed-off-by: Ian Jackson Committed-by: Ian Jackson --- tools/hotplug/Linux/xen-hotplug-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh index 95beab0ec5..8f6557df73 100644 --- a/tools/hotplug/Linux/xen-hotplug-common.sh +++ b/tools/hotplug/Linux/xen-hotplug-common.sh @@ -106,7 +106,7 @@ xenstore_write() { # call_hooks() { for f in /etc/xen/scripts/${1}-${2}.d/*.hook; do - [ -x "$f" ] && . "$f" + if [ -x "$f" ]; then . "$f"; fi done } -- 2.30.2